/*
 * log.hpp
 *
 *  Created on: May 3, 2009
 *      Author: shl
 */

#ifndef FIXSTOKER_LOG_HPP_
#define FIXSTOKER_LOG_HPP_

#include <iostream>
//#include <cstdio>

namespace fixstoker {

#define FIXSTOKER_LOG_DEBUG
#define FIXSTOKER_LOG_INFO
#define FIXSTOKER_LOG_WARN
#define FIXSTOKER_LOG_ERROR

// LOGGING MACROS DEFINITITIONS

// LOG_DEBUG
#ifdef FIXSTOKER_LOG_DEBUG
#define LOG_DEBUG(msg) std::cout << "DEBUG [" << __FILE__ << ":" << __LINE__ << "] " << msg << std::endl;
#endif

#ifndef FIXSTOKER_LOG_DEBUG
#define LOG_DEBUG(msg)
#endif

// LOG_INFO
#ifdef FIXSTOKER_LOG_INFO
#define LOG_INFO(msg) std::cout << "INFO  [" << __FILE__ << ":" << __LINE__ << "] " << msg << std::endl;
#endif

#ifndef FIXSTOKER_LOG_INFO
#define LOG_INFO(msg)
#endif

// LOG_WARN
#ifdef FIXSTOKER_LOG_WARN
#define LOG_WARN(msg) std::cout << "WARN  [" << __FILE__ << ":" << __LINE__ << "] " << msg << std::endl;
#endif

#ifndef FIXSTOKER_LOG_WARN
#define LOG_WARN(msg)
#endif

// LOG_ERROR
#ifdef FIXSTOKER_LOG_ERROR
#define LOG_ERROR(msg) std::cout << "ERROR [" << __FILE__ << ":" << __LINE__ << "] " << msg << std::endl;
#endif

#ifndef FIXSTOKER_LOG_ERROR
#define LOG_ERROR(msg)
#endif

}

#endif /* FIXSTOKER_LOG_HPP_ */
